using System.Data.Linq;
using Magiq.Tests.TestModel;

namespace Magiq.Tests.Sql.TestModel
{
    public class LinqToSqlTestClass : ITestClass<LinqToSqlTestClass>
    {
        private EntityRef<LinqToSqlTestClass> selfReference;
        public int? SelfReferenceId { get; set; }
        public int? ReferenceId { get; set; }
        public int? Reference2Id { get; set; }
        public int Type { get; set; }

        #region ITestClass1<LinqToSqlTestClass1> Members

        public int Id { get; set; }
        public string StringProperty { get; set; }
        public string AnotherStringProperty { get; set; }
        public int IntProperty { get; set; }
        public int? NullableIntProperty { get; set; }
        public int AnotherIntProperty { get; set; }

        public LinqToSqlTestClass SelfReference
        {
            get { return selfReference.Entity; }
            set { selfReference.Entity = value; }
        }

        public ReferenceTestClass Reference { get; set; }

        public ReferenceTestClass Reference2 { get; set; }

        #endregion
    }
}